AngelScript improvements: ImGui, mouse position, script monitor UI + loadscript
console command.
#2931
+1,716
−978
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Separated out from #2930 to make things more manageable.
These changes do not involve the refcounting redesign, so there is small chance for bugs. I tested races and vehicle removal, everything works.
New script features:
enum ImGuiWindowFlags; ImGui::SliderInt(); class ImDrawList; ImGui::PushStyleColor(); ImGui::PlotLines()
game
object funcs:getMouseScreenPosition(), getMouseTerrainPosition(), getScreenPosFromWorldPos(), getDisplaySize()
GameScriptClass
organized into groups.New game features:
loadscript <filename>
console command.Developers only: Tidy-up of AngelScript bindings:
I moved all AngelScript-registration code to a single location, a new directory 'scripting/bindings/'. Previously, those registrations were all over the place (some in ScriptEngine.cpp, some in LocalStorage.cpp, most in FoobarAngelscript.cpp files). I placed all in dedicated 'FoobarAngelscript.cpp' files. It will make future bindings better organized.
Code changes: